/*
 * GestionSeguridadAdministrativaclienteView.java
 */

package gestionseguridadadministrativacliente;

import Administracion.jdConsultarUnidades;
import Administracion.jdRegistrarUnidades;
import Administracion.jifAdministrarTipos;
import GestionRoles.jdAdministrarRoles;
import GestionRoles.jdAsignarFuncionUsuario;
import GestionRoles.jdConsultarRoles;
import GestionRoles.jdRegistrarRoles;
import administracion.delegate.GestionPedidosDelegate;
import administracion.delegate.GestionSeguridadDelegate;
import administracion.helper.Conversiones;
import administracion.helper.Listas;
import administracion.helper.Utiles_MensajesDialogo;
import administracion.propiedades.Propiedades;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JMenuItem;
import seguridad.administracion.ejb30.TO.FuncionesAccessoUsuarioTO;
import seguridad.administracion.helper.AccionesMenus;
import suministros.ejb30.TO.EmpresaTO;
import suministros.ejb30.TO.ZonaTO;

/**
 * The application's main frame.
 */
public class GestionSeguridadAdministrativaclienteView extends FrameView {
    private jdRegistrarRoles registrarRol;
    private jdAdministrarRoles administrarRol;
    private jdConsultarRoles consultarRol;
    private JDialog jdInfoRedes;
    private jdRegistrarUsuario registrarUsuario;
    private jdAdministrarUsuarios administrarUsuario;
    private jdAsignarFuncionUsuario asignarroles;
    private jdRegistrarEmpresa registra_empresas;
    private jdOperacionesEmpresa operacion_empresas_consultar;
    private jdOperacionesEmpresa operacion_empresas_modificar;
    private jdMostrarAlertas mostrarAlertas;
    private jdActualizarListas actualizarListas;
    List<JMenuItem> menus= new ArrayList<JMenuItem>();
    private AlertasTarea alt;
    private jdSeguridadCambioPassword cambiar_clave;
    private jdRegistrarUnidades unidades;
    private jdConsultarUnidades consultarunidades;
    private jifAdministrarTipos administrarTipos;
    public GestionSeguridadAdministrativaclienteView(SingleFrameApplication app) {
        super(app);       
        super.getFrame().setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);        
        ResourceMap resourceMap = getResourceMap();
        super.getFrame().setIconImage(resourceMap.getImageIcon("logoFrame.icon").getImage());

        initComponents();

        nombresMenus();
        super.getFrame().setExtendedState(JFrame.MAXIMIZED_BOTH);
        llenarMenu();
        // status bar initialization - message timeout, idle icon and busy animation, etc
        
        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
        messageTimer = new Timer(messageTimeout, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                statusMessageLabel.setText("");
            }
        });
        messageTimer.setRepeats(false);
        int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
        for (int i = 0; i < busyIcons.length; i++) {
            busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
        }
        busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
                statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
            }
        });
        idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
        statusAnimationLabel.setIcon(idleIcon);
        progressBar.setVisible(false);

        // connecting action tasks to status bar via TaskMonitor
        TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
        taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                String propertyName = evt.getPropertyName();
                if ("started".equals(propertyName)) {
                    if (!busyIconTimer.isRunning()) {
                        statusAnimationLabel.setIcon(busyIcons[0]);
                        busyIconIndex = 0;
                        busyIconTimer.start();
                    }
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(true);
                } else if ("done".equals(propertyName)) {
                    busyIconTimer.stop();
                    statusAnimationLabel.setIcon(idleIcon);
                    progressBar.setVisible(false);
                    progressBar.setValue(0);
                } else if ("message".equals(propertyName)) {
                    String text = (String)(evt.getNewValue());
                    statusMessageLabel.setText((text == null) ? "" : text);
                    messageTimer.restart();
                } else if ("progress".equals(propertyName)) {
                    int value = (Integer)(evt.getNewValue());
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(false);
                    progressBar.setValue(value);
                }
            }
        });
    }
    public void habilitarMenus(){
        this.jmiIngresarUsuario.setEnabled(false);
        this.jmiAdministrarUsuario.setEnabled(false);
        this.jmiConsultaUsuario.setEnabled(false);
        this.jmiAsignarRoles.setEnabled(false);
        this.jmiIngresaRol.setEnabled(false);
        this.jmiAdministraRol.setEnabled(false);
        this.jmiConsultaRol.setEnabled(false);
         this.jmiIngresaEmpresas.setEnabled(false);
        this.jmiAdministrarEmpresas.setEnabled(false);
        this.jmiConsultarEmpresas.setEnabled(false);
    }
    public void nombresMenus(){
        habilitarMenus();
        this.jmiIngresarUsuario.setActionCommand("SG0001");
        this.jmiAdministrarUsuario.setActionCommand("SG0002");
        this.jmiConsultaUsuario.setActionCommand("SG0003");
        this.jmiAsignarRoles.setActionCommand("SG0004");
        this.jmiIngresaRol.setActionCommand("SG0005");
        this.jmiAdministraRol.setActionCommand("SG0006");
        this.jmiConsultaRol.setActionCommand("SG0007");
        this.jmiIngresaEmpresas.setActionCommand("SG0008");
        this.jmiAdministrarEmpresas.setActionCommand("SG0009");
        this.jmiConsultarEmpresas.setActionCommand("SG0010");
        menus.add(jmiIngresarUsuario);
        menus.add(jmiAdministrarUsuario);
        menus.add(jmiConsultaUsuario);
        menus.add(jmiAsignarRoles);
        menus.add(jmiIngresaRol);
        menus.add(jmiAdministraRol);
        menus.add(jmiConsultaRol);
        menus.add(jmiIngresaEmpresas);
        menus.add(jmiAdministrarEmpresas);
        menus.add(jmiConsultarEmpresas);
        verificarMenus();
    }
    public void verificarMenus(){
        List<FuncionesAccessoUsuarioTO> funcionesacceso=Listas.getFuncionesacceso("6");
        for(FuncionesAccessoUsuarioTO funcion:funcionesacceso){
            for(int i=0; i<menus.size(); i++){
                if(menus.get(i).getActionCommand().compareToIgnoreCase(funcion.getId_funcion().trim())==0){
                    menus.get(i).setEnabled(true);
                }
            }
        }


    }

    public void llenarMenu() {
    jmSistemas.removeAll();
    AccionesMenus accion;
    try {
      List sistemas = GestionSeguridadDelegate.getInstance().listaDetalleUsuarioSistemaActivo(Propiedades.getUsuario());
      List<JMenuItem> listaMenus = Conversiones.listaDetalleUsuarioSistemas(sistemas);
      accion = new AccionesMenus();

      for (JMenuItem menu : listaMenus) {
        JMenuItem menu1 = new JMenuItem(accion);
        menu1.setText(menu.getText());
        menu1.setActionCommand(menu.getActionCommand());
        this.jmSistemas.add(menu1);
      }
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
    @Action
    public void showAboutBox() {
        if (aboutBox == null) {
            JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
            aboutBox = new GestionSeguridadAdministrativaclienteAboutBox(mainFrame);
            aboutBox.setLocationRelativeTo(mainFrame);
        }
        GestionSeguridadAdministrativaclienteApp.getApplication().show(aboutBox);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        mainPanel = new javax.swing.JPanel();
        menuBar = new javax.swing.JMenuBar();
        jmSistemas = new javax.swing.JMenu();
        jmArchivo = new javax.swing.JMenu();
        jmiInfoRedes = new javax.swing.JMenuItem();
        jmUsuarios = new javax.swing.JMenu();
        jmiIngresarUsuario = new javax.swing.JMenuItem();
        jmiAdministrarUsuario = new javax.swing.JMenuItem();
        jmiConsultaUsuario = new javax.swing.JMenuItem();
        jmiAsignarRoles = new javax.swing.JMenuItem();
        jmRoles = new javax.swing.JMenu();
        jmiIngresaRol = new javax.swing.JMenuItem();
        jmiAdministraRol = new javax.swing.JMenuItem();
        jmiConsultaRol = new javax.swing.JMenuItem();
        jMenu1 = new javax.swing.JMenu();
        jmiIngresaEmpresas = new javax.swing.JMenuItem();
        jmiAdministrarEmpresas = new javax.swing.JMenuItem();
        jmiConsultarEmpresas = new javax.swing.JMenuItem();
        jMenuItem4 = new javax.swing.JMenuItem();
        jMenuItem1 = new javax.swing.JMenuItem();
        jmiSalir = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        jMenu4 = new javax.swing.JMenu();
        jmiRegistrarUnidad = new javax.swing.JMenuItem();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenuItem5 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem2 = new javax.swing.JMenuItem();
        javax.swing.JMenu jmAyuda = new javax.swing.JMenu();
        javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
        statusPanel = new javax.swing.JPanel();
        javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
        statusMessageLabel = new javax.swing.JLabel();
        statusAnimationLabel = new javax.swing.JLabel();
        progressBar = new javax.swing.JProgressBar();

        mainPanel.setName("mainPanel"); // NOI18N

        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
        mainPanel.setLayout(mainPanelLayout);
        mainPanelLayout.setHorizontalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        mainPanelLayout.setVerticalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 254, Short.MAX_VALUE)
        );

        menuBar.setName("menuBar"); // NOI18N

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(gestionseguridadadministrativacliente.GestionSeguridadAdministrativaclienteApp.class).getContext().getResourceMap(GestionSeguridadAdministrativaclienteView.class);
        jmSistemas.setText(resourceMap.getString("jmSistemas.text")); // NOI18N
        jmSistemas.setFont(resourceMap.getFont("jmArchivo.font")); // NOI18N
        jmSistemas.setName("jmSistemas"); // NOI18N
        menuBar.add(jmSistemas);

        jmArchivo.setText(resourceMap.getString("jmArchivo.text")); // NOI18N
        jmArchivo.setFont(resourceMap.getFont("jmArchivo.font")); // NOI18N
        jmArchivo.setName("jmArchivo"); // NOI18N

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(gestionseguridadadministrativacliente.GestionSeguridadAdministrativaclienteApp.class).getContext().getActionMap(GestionSeguridadAdministrativaclienteView.class, this);
        jmiInfoRedes.setAction(actionMap.get("showDialogoInfoRedes")); // NOI18N
        jmiInfoRedes.setText(resourceMap.getString("jmiInfoRedes.text")); // NOI18N
        jmiInfoRedes.setName("jmiInfoRedes"); // NOI18N
        jmiInfoRedes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiInfoRedesActionPerformed(evt);
            }
        });
        jmArchivo.add(jmiInfoRedes);

        jmUsuarios.setText(resourceMap.getString("jmUsuarios.text")); // NOI18N
        jmUsuarios.setFont(resourceMap.getFont("jmUsuarios.font")); // NOI18N
        jmUsuarios.setName("jmUsuarios"); // NOI18N

        jmiIngresarUsuario.setFont(resourceMap.getFont("jmiConsultaUsuario.font")); // NOI18N
        jmiIngresarUsuario.setText(resourceMap.getString("jmiIngresarUsuario.text")); // NOI18N
        jmiIngresarUsuario.setName("jmiIngresarUsuario"); // NOI18N
        jmiIngresarUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiIngresarUsuarioActionPerformed(evt);
            }
        });
        jmUsuarios.add(jmiIngresarUsuario);

        jmiAdministrarUsuario.setText(resourceMap.getString("jmiAdministrarUsuario.text")); // NOI18N
        jmiAdministrarUsuario.setName("jmiAdministrarUsuario"); // NOI18N
        jmiAdministrarUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiAdministrarUsuarioActionPerformed(evt);
            }
        });
        jmUsuarios.add(jmiAdministrarUsuario);

        jmiConsultaUsuario.setFont(resourceMap.getFont("jmiConsultaUsuario.font")); // NOI18N
        jmiConsultaUsuario.setText(resourceMap.getString("jmiConsultaUsuario.text")); // NOI18N
        jmiConsultaUsuario.setName("jmiConsultaUsuario"); // NOI18N
        jmUsuarios.add(jmiConsultaUsuario);

        jmiAsignarRoles.setText(resourceMap.getString("jmiAsignarRoles.text")); // NOI18N
        jmiAsignarRoles.setName("jmiAsignarRoles"); // NOI18N
        jmiAsignarRoles.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiAsignarRolesActionPerformed(evt);
            }
        });
        jmUsuarios.add(jmiAsignarRoles);

        jmArchivo.add(jmUsuarios);

        jmRoles.setText(resourceMap.getString("jmRoles.text")); // NOI18N
        jmRoles.setFont(resourceMap.getFont("jmUsuarios.font")); // NOI18N
        jmRoles.setName("jmRoles"); // NOI18N

        jmiIngresaRol.setFont(resourceMap.getFont("jmiConsultaRol.font")); // NOI18N
        jmiIngresaRol.setText(resourceMap.getString("jmiIngresaRol.text")); // NOI18N
        jmiIngresaRol.setName("jmiIngresaRol"); // NOI18N
        jmiIngresaRol.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiIngresaRolActionPerformed(evt);
            }
        });
        jmRoles.add(jmiIngresaRol);

        jmiAdministraRol.setFont(resourceMap.getFont("jmiConsultaRol.font")); // NOI18N
        jmiAdministraRol.setText(resourceMap.getString("jmiAdministraRol.text")); // NOI18N
        jmiAdministraRol.setName("jmiAdministraRol"); // NOI18N
        jmiAdministraRol.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiAdministraRolActionPerformed(evt);
            }
        });
        jmRoles.add(jmiAdministraRol);

        jmiConsultaRol.setFont(resourceMap.getFont("jmiConsultaRol.font")); // NOI18N
        jmiConsultaRol.setText(resourceMap.getString("jmiConsultaRol.text")); // NOI18N
        jmiConsultaRol.setName("jmiConsultaRol"); // NOI18N
        jmiConsultaRol.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiConsultaRolActionPerformed(evt);
            }
        });
        jmRoles.add(jmiConsultaRol);

        jmArchivo.add(jmRoles);

        jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
        jMenu1.setName("jMenu1"); // NOI18N

        jmiIngresaEmpresas.setText(resourceMap.getString("jmiIngresaEmpresas.text")); // NOI18N
        jmiIngresaEmpresas.setName("jmiIngresaEmpresas"); // NOI18N
        jmiIngresaEmpresas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiIngresaEmpresasActionPerformed(evt);
            }
        });
        jMenu1.add(jmiIngresaEmpresas);

        jmiAdministrarEmpresas.setText(resourceMap.getString("jmiAdministrarEmpresas.text")); // NOI18N
        jmiAdministrarEmpresas.setName("jmiAdministrarEmpresas"); // NOI18N
        jmiAdministrarEmpresas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiAdministrarEmpresasActionPerformed(evt);
            }
        });
        jMenu1.add(jmiAdministrarEmpresas);

        jmiConsultarEmpresas.setText(resourceMap.getString("jmiConsultarEmpresas.text")); // NOI18N
        jmiConsultarEmpresas.setName("jmiConsultarEmpresas"); // NOI18N
        jmiConsultarEmpresas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiConsultarEmpresasActionPerformed(evt);
            }
        });
        jMenu1.add(jmiConsultarEmpresas);

        jmArchivo.add(jMenu1);

        jMenuItem4.setText(resourceMap.getString("jMenuItem4.text")); // NOI18N
        jMenuItem4.setName("jMenuItem4"); // NOI18N
        jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem4ActionPerformed(evt);
            }
        });
        jmArchivo.add(jMenuItem4);

        jMenuItem1.setText(resourceMap.getString("jMenuItem1.text")); // NOI18N
        jMenuItem1.setName("jMenuItem1"); // NOI18N
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jmArchivo.add(jMenuItem1);

        jmiSalir.setAction(actionMap.get("quit")); // NOI18N
        jmiSalir.setFont(resourceMap.getFont("jmiSalir.font")); // NOI18N
        jmiSalir.setText(resourceMap.getString("jmiSalir.text")); // NOI18N
        jmiSalir.setName("jmiSalir"); // NOI18N
        jmiSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiSalirActionPerformed(evt);
            }
        });
        jmArchivo.add(jmiSalir);

        menuBar.add(jmArchivo);

        jMenu3.setText(resourceMap.getString("jMenu3.text")); // NOI18N
        jMenu3.setName("jMenu3"); // NOI18N

        jMenu4.setText(resourceMap.getString("jMenu4.text")); // NOI18N
        jMenu4.setName("jMenu4"); // NOI18N

        jmiRegistrarUnidad.setText(resourceMap.getString("jmiRegistrarUnidad.text")); // NOI18N
        jmiRegistrarUnidad.setName("jmiRegistrarUnidad"); // NOI18N
        jmiRegistrarUnidad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiRegistrarUnidadActionPerformed(evt);
            }
        });
        jMenu4.add(jmiRegistrarUnidad);

        jMenuItem3.setText(resourceMap.getString("jMenuItem3.text")); // NOI18N
        jMenuItem3.setName("jMenuItem3"); // NOI18N
        jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem3ActionPerformed(evt);
            }
        });
        jMenu4.add(jMenuItem3);

        jMenu3.add(jMenu4);

        jMenuItem5.setText(resourceMap.getString("jMenuItem5.text")); // NOI18N
        jMenuItem5.setName("jMenuItem5"); // NOI18N
        jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem5ActionPerformed(evt);
            }
        });
        jMenu3.add(jMenuItem5);

        menuBar.add(jMenu3);

        jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
        jMenu2.setName("jMenu2"); // NOI18N

        jMenuItem2.setText(resourceMap.getString("jMenuItem2.text")); // NOI18N
        jMenuItem2.setName("jMenuItem2"); // NOI18N
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem2);

        menuBar.add(jMenu2);

        jmAyuda.setText(resourceMap.getString("jmAyuda.text")); // NOI18N
        jmAyuda.setFont(resourceMap.getFont("jmArchivo.font")); // NOI18N
        jmAyuda.setName("jmAyuda"); // NOI18N

        aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
        aboutMenuItem.setFont(resourceMap.getFont("aboutMenuItem.font")); // NOI18N
        aboutMenuItem.setText(resourceMap.getString("aboutMenuItem.text")); // NOI18N
        aboutMenuItem.setName("aboutMenuItem"); // NOI18N
        jmAyuda.add(aboutMenuItem);

        menuBar.add(jmAyuda);

        statusPanel.setName("statusPanel"); // NOI18N

        statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N

        statusMessageLabel.setName("statusMessageLabel"); // NOI18N

        statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N

        progressBar.setName("progressBar"); // NOI18N

        javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
        statusPanel.setLayout(statusPanelLayout);
        statusPanelLayout.setHorizontalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(statusMessageLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 230, Short.MAX_VALUE)
                .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(statusAnimationLabel)
                .addContainerGap())
        );
        statusPanelLayout.setVerticalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(statusMessageLabel)
                    .addComponent(statusAnimationLabel)
                    .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(3, 3, 3))
        );

        setComponent(mainPanel);
        setMenuBar(menuBar);
        setStatusBar(statusPanel);
    }// </editor-fold>//GEN-END:initComponents

    @Action
    public void showDialogoInfoRedes() {
    if (this.jdInfoRedes == null) {
      JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
      this.jdInfoRedes = new jdInfoRedes(mainFrame, true);
      this.jdInfoRedes.setLocationRelativeTo(mainFrame);
    }
    this.jdInfoRedes.setVisible(true);
    //GestionSeguridadAdministrativaclienteApp.getApplication().show(this.jdInfoRedes);
  }
    private void jmiInfoRedesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiInfoRedesActionPerformed

    }//GEN-LAST:event_jmiInfoRedesActionPerformed

    private void jmiIngresaRolActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiIngresaRolActionPerformed

      JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
      this.registrarRol = new jdRegistrarRoles(mainFrame, true);
      this.registrarRol.pack();
      this.registrarRol.setLocationRelativeTo(mainFrame);
      registrarRol.setVisible(true);
    //GestionSeguridadAdministrativaclienteApp.getApplication().show(registrarRol);

    }//GEN-LAST:event_jmiIngresaRolActionPerformed

    private void jmiIngresarUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiIngresarUsuarioActionPerformed

          JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
          this.registrarUsuario = new jdRegistrarUsuario(mainFrame, true);
          this.registrarUsuario.setLocationRelativeTo(mainFrame);
          registrarUsuario.setVisible(true);
           //GestionSeguridadAdministrativaclienteApp.getApplication().show(registrarUsuario);

    }//GEN-LAST:event_jmiIngresarUsuarioActionPerformed

    private void jmiAdministraRolActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiAdministraRolActionPerformed

          JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
          this.administrarRol = new jdAdministrarRoles(mainFrame, true);
          this.administrarRol.setLocationRelativeTo(mainFrame);
        administrarRol.setVisible(true);
        //GestionSeguridadAdministrativaclienteApp.getApplication().show(administrarRol);
    }//GEN-LAST:event_jmiAdministraRolActionPerformed

    private void jmiConsultaRolActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiConsultaRolActionPerformed

          JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
          this.consultarRol = new jdConsultarRoles(mainFrame, true);
          this.consultarRol.setLocationRelativeTo(mainFrame);
         consultarRol.setVisible(true);
       // GestionSeguridadAdministrativaclienteApp.getApplication().show(consultarRol);
    }//GEN-LAST:event_jmiConsultaRolActionPerformed

    private void jmiAdministrarUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiAdministrarUsuarioActionPerformed
      
              JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
              this.administrarUsuario = new jdAdministrarUsuarios(mainFrame, true);
              this.administrarUsuario.setLocationRelativeTo(mainFrame);
               administrarUsuario.setVisible(true);
         //GestionSeguridadAdministrativaclienteApp.getApplication().show(administrarUsuario);
    }//GEN-LAST:event_jmiAdministrarUsuarioActionPerformed

    private void jmiAsignarRolesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiAsignarRolesActionPerformed

        JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
        this.asignarroles = new jdAsignarFuncionUsuario(mainFrame, true);
        this.asignarroles.setLocationRelativeTo(mainFrame);
        asignarroles.setVisible(true);
        //GestionSeguridadAdministrativaclienteApp.getApplication().show(asignarroles);
           
    }//GEN-LAST:event_jmiAsignarRolesActionPerformed

    private void jmiIngresaEmpresasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiIngresaEmpresasActionPerformed

              JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
              this.registra_empresas = new jdRegistrarEmpresa(mainFrame, true,false);
              this.registra_empresas.setLocationRelativeTo(mainFrame);
         registra_empresas.setVisible(true);
         //GestionSeguridadAdministrativaclienteApp.getApplication().show(registra_empresas);
    }//GEN-LAST:event_jmiIngresaEmpresasActionPerformed

    private void jmiConsultarEmpresasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiConsultarEmpresasActionPerformed
          JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
          this.operacion_empresas_consultar = new jdOperacionesEmpresa(mainFrame, true,false);
          this.operacion_empresas_consultar.setLocationRelativeTo(mainFrame);
          operacion_empresas_consultar.setVisible(true);
         //GestionSeguridadAdministrativaclienteApp.getApplication().show(operacion_empresas_consultar);
    }//GEN-LAST:event_jmiConsultarEmpresasActionPerformed

    private void jmiAdministrarEmpresasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiAdministrarEmpresasActionPerformed

         JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
         this.operacion_empresas_modificar = new jdOperacionesEmpresa(mainFrame, true,true);
         this.operacion_empresas_modificar.setLocationRelativeTo(mainFrame);
         operacion_empresas_modificar.setVisible(true);
         //GestionSeguridadAdministrativaclienteApp.getApplication().show(operacion_empresas_modificar);
    }//GEN-LAST:event_jmiAdministrarEmpresasActionPerformed

    private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
     
         JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
         this.mostrarAlertas = new jdMostrarAlertas(mainFrame, true);
         this.mostrarAlertas.setLocationRelativeTo(mainFrame);
         mostrarAlertas.setVisible(true);
     
    }//GEN-LAST:event_jMenuItem4ActionPerformed

    private void jmiSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiSalirActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jmiSalirActionPerformed

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
         JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
         this.actualizarListas = new jdActualizarListas(mainFrame,this,true);
         this.actualizarListas.setLocationRelativeTo(mainFrame);
         actualizarListas.setVisible(true);
    }//GEN-LAST:event_jMenuItem1ActionPerformed

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
         this.cambiar_clave = new jdSeguridadCambioPassword(mainFrame,true);
         this.cambiar_clave.setLocationRelativeTo(mainFrame);
         cambiar_clave.setVisible(true);
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    private void jmiRegistrarUnidadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiRegistrarUnidadActionPerformed
         JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
         this.unidades = new jdRegistrarUnidades(mainFrame,true);
         this.unidades.setLocationRelativeTo(mainFrame);
         unidades.setVisible(true);
    }//GEN-LAST:event_jmiRegistrarUnidadActionPerformed

    private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
         JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
         this.consultarunidades = new jdConsultarUnidades(mainFrame,true);
         this.consultarunidades.setLocationRelativeTo(mainFrame);
         consultarunidades.setVisible(true);
    }//GEN-LAST:event_jMenuItem3ActionPerformed

    private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed

        JFrame mainFrame = GestionSeguridadAdministrativaclienteApp.getApplication().getMainFrame();
        this.administrarTipos = new jifAdministrarTipos(mainFrame,true);
        this.administrarTipos.setLocationRelativeTo(mainFrame);
        administrarTipos.setVisible(true);
    }//GEN-LAST:event_jMenuItem5ActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenu jMenu4;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenuItem jMenuItem4;
    private javax.swing.JMenuItem jMenuItem5;
    private javax.swing.JMenu jmArchivo;
    private javax.swing.JMenu jmRoles;
    private javax.swing.JMenu jmSistemas;
    private javax.swing.JMenu jmUsuarios;
    private javax.swing.JMenuItem jmiAdministraRol;
    private javax.swing.JMenuItem jmiAdministrarEmpresas;
    private javax.swing.JMenuItem jmiAdministrarUsuario;
    private javax.swing.JMenuItem jmiAsignarRoles;
    private javax.swing.JMenuItem jmiConsultaRol;
    private javax.swing.JMenuItem jmiConsultaUsuario;
    private javax.swing.JMenuItem jmiConsultarEmpresas;
    private javax.swing.JMenuItem jmiInfoRedes;
    private javax.swing.JMenuItem jmiIngresaEmpresas;
    private javax.swing.JMenuItem jmiIngresaRol;
    private javax.swing.JMenuItem jmiIngresarUsuario;
    private javax.swing.JMenuItem jmiRegistrarUnidad;
    private javax.swing.JMenuItem jmiSalir;
    private javax.swing.JPanel mainPanel;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JProgressBar progressBar;
    private javax.swing.JLabel statusAnimationLabel;
    private javax.swing.JLabel statusMessageLabel;
    private javax.swing.JPanel statusPanel;
    // End of variables declaration//GEN-END:variables

    private final Timer messageTimer;
    private final Timer busyIconTimer;
    private final Icon idleIcon;
    private final Icon[] busyIcons = new Icon[15];
    private int busyIconIndex = 0;

    private JDialog aboutBox;
}
